﻿namespace DimensionsHelper.Client.WinUi.Contracts.ViewModels;

public interface IProjectTask : IReportService, INotifyPropertyChanged
{
    IEnumerable<IMessage> Messages
    {
        get;
    }


    string DisplayName
    {
        get;
    }


    string Id
    {
        get;
    }


    bool IsRunning
    {
        get;
    }


    bool CanRemove
    {
        get;
    }


    ReportLevel ReportLevel
    {
        get;
        set;
    }


    CancellationToken CancellationToken
    {
        get;
    }


    ICommand DisposeCommand
    {
        get;
    }


    ICommand ExportMessagesCommand
    {
        get;
    }


    ICommand ClearMessagesCommand
    {
        get;
    }


    ICommand CancelCommand
    {
        get;
    }


    void StartTask(Task task);


    void Dispose();
}